package bl.document;

import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;

import po.DocumentPo;
import po.Po;
import po.库存报警单po;
import vo.DocumentVo;
import vo.Vo;
import vo.StockWarningVo;
import dbservice.document.DocumentDBService;
import dbservice.history.SystemLogDBService;

public class StockWarningDocumentBL extends DocumentBL{
	private static final long serialVersionUID = 3522813124157090088L;


	public StockWarningDocumentBL(DocumentDBService documentDB,SystemLogDBService log) throws RemoteException {
		super(documentDB,log);
		// TODO Auto-generated constructor stub
	}


	public StockWarningVo _vo(库存报警单po po){
		   StockWarningVo vo=new StockWarningVo();
		   vo.set单据编号(po.get单据编号());
		   vo.set商品名称(po.get商品名称());
		   vo.set商品型号(po.get商品型号());
		   vo.set商品编号(po.get商品编号());
		   vo.setNum(po.getNum());
		   return vo;
	   }
	   public 库存报警单po _po(StockWarningVo vo){
		  库存报警单po po=new 库存报警单po();	  
		  return po;
	   }
	  
	   
	   public DocumentPo _po(DocumentVo vo){
		   DocumentPo po=new DocumentPo();
		   po.set客户(vo.get客户());
		   po.setDate(vo.getDate());
		   po.set业务员(vo.get业务员());
		   po.setType(vo.isType());
		   return po;
	   }
	   
	   
		@Override
		public Vo approve(DocumentVo document) {
			Po po=documentDB.approve(_po((StockWarningVo)document));
			Vo vo=new Vo();
			if(po.isSuccessed()){
				vo.successed();
			}else{
				vo.failed(po.getFailMessage());
			}
			return vo;
		}

		@Override
		public Vo add(DocumentVo document) {
			Po po=documentDB.add(_po((StockWarningVo) document));
			Vo vo=new Vo();
			if(po.isSuccessed()){
				vo.successed();
			}
			else{
			    vo.failed(po.getFailMessage());
			}
			return vo;
		}

		@Override
		public Vo update(DocumentVo document) {
			Po po=documentDB.update(_po((StockWarningVo) document));
			Vo vo=new Vo();
			if(po.isSuccessed()){
				vo.successed();
			}
			else{
			    vo.failed(po.getFailMessage());
			}
			return vo;
		}

		@Override
		public List<DocumentVo> get(DocumentVo from, DocumentVo to) {
			List<DocumentPo> po=documentDB.get(_po(from), _po(to));
			List<DocumentVo> vo=new ArrayList<DocumentVo> ();
			for(int i=0;i<po.size();i++){
				vo.add(_vo((库存报警单po) po.get(i)));
			}
			return vo;
		}

		@Override
		public List<DocumentVo> getUnapproval() {
			List<DocumentPo> po=documentDB.getUnapproval();
			List<DocumentVo> vo=new ArrayList<DocumentVo>();
			for(int i=0;i<po.size();i++){
				vo.add(_vo((库存报警单po) po.get(i)));
			}
			return vo;
		}


		@Override
		public Vo redRush(DocumentVo vo) {
			// TODO Auto-generated method stub
			return null;
		}


		@Override
		public Vo redRushAndCopy(DocumentVo vo) {
			// TODO Auto-generated method stub
			return null;
		}
		
}
